package main.java.File;

import java.io.File;
import java.io.FileFilter;

/*
    获取当前目录下所有的子目录和文件
 */
public class ListFilesDemo {
    public static void main(String[] args) {
        //定义当前目录
        String path = ".";
        //创建当前目录对象
        File file = new File(path);
        //获取当前目录下所有的子目录和文件并迭代输出
        //File[] files = file.listFiles();
        //获取符合规则的文件（借助listFiles的重载方法进行实现，会用到文件过滤器）
        File[] files = file.listFiles(new FileFilter(){
            @Override
            public boolean accept(File file) {
                //只获取File类型的文件，并且文件以.xml结尾的
                return file.isFile()&& file.getName().endsWith(".xml");
            }
        });
        //用lambda表达式的方式编写上面同样的功能
        files = file.listFiles((File f)->{
            return f.isFile()&& f.getName().endsWith(".xml");
        });

        //判断是否有文件
        for(File f:files){
            //输出文件名
            System.out.println(f.getName());
        }
    }
}
